// 用来定义管理员数据的路由

const express = require('express')
//引入操作管理员数据的model对象
const adminModel = require('../db/adminModel')
//创建路由器中间件
const router = express.Router()

// 引入md5,对密码进行加密
const md5 = require('md5')
// 注册
router.post('/addAdmin', async (req, res) => {
  // 先获取用户上传的信息
  const { username, password } = req.fields
  try {
    // 将这些信息存储到mongodb数据库中
    // md5把要用户上传的明文转成秘文.然后存储到数据库中
    await adminModel.create({ name: username, psw: md5(password) })
    // 响应用户
    // code: 2表示这次操作成功,1表示失败(这是后端和前端商量好的一个暗号)
    // data: 就是这次请求响应的数据,如果没有则写null
    // message:就是提示的信息,未来可以用来给用户提示
    res.send({ code: 2, data: null, message: '添加管理员成功' })
  } catch (error) {
    res.send({ code: 1, data: null, message: '添加管理员失败' })
  }
})

// 获取管理员数据
router.get('/findAdmins', async (req, res) => {
  // 直接去数据库中查找管理员所有数据
  try {
    const result = await adminModel.find({}, { psw: 0 })
    res.send({ code: 2, data: result, message: '查找管理员成功' })
  } catch (error) {
    res.send({ code: 1, data: null, message: '查找管理员失败' })
  }
})

//导出路由器中间件
module.exports = router
